\section*{Résumé du rapport}

Ce présent rapport rend compte de la conception, réalisation et validation d'un projet open-source dans le domaine du web. Il reprend ces différentes phases autour de ma participation au projet Eovi, c'est-à-dire au développement d'un outil de création de devis.

Eovi, une mutuelle parmi les clients de Smile, nous a commandé un projet dont le premier lot est en deux parties :

\begin{itemize}
\item un système de gestion de contenu (\textit{CMS}),  permettant à Eovi de se présenter ;
\item un tarificateur, sous forme d'une suite de formulaires, à destination des futurs clients.
\end{itemize}

\subsubsection{Réalisation}

J'ai pour ma part entièrement réalisé la partie tarificateur. Elle comprend plusieurs pages, des éléments paramétrables, un calcul de tarifs, de la génération de fichiers PDF et la possibilité d'effectuer des paiements.

La réalisation s'est faite principalement autour de deux outils open-source : eZPublish pour le contenu et Symfony pour le tarificateur, fournissant cadre et outils pour développer l'application. J'ai donc exploité les possibilités de Symfony en terme de génération de formulaires, et même en dépasser certaines (par exemple pour rendre le formulaire dynamique, avec des appels AJAX). Une autre partie importante du développement fût aussi l'intégration de la partie gérée dans Symfony dans eZPublish.

Même si les deux parties sont distinctes, il est nécessaire d'avoir un outil de gestion des fichiers sources approprié. Comme pour tous les projets Smile, nous avions donc à notre disposition un serveur Subversion (\textit{SVN}). Le développement s'est fait dans le tronc de l'arborescence, puis, quant il a fallu continuer en parallèle le développement d'un autre lot du projet et la correction des anomalies, nous avons créé une branche dite de \og recette \fg.

Pendant cette phase de recette, nous avons utilisé un outil grandement utilisé chez Smile pour que le client puisse nous communiquer toutes les anomalies qu'il détecte : Redmine. A chaque problème, le client peut ouvrir un ticket, donner son importance, et doit décrire au mieux comment le problème est survenu.

\subsubsection{Conclusion}

Un des enjeu de ce projet (en plus de le finir dans les temps) était de développer un programme stable, ou à défaut des parties de code génériques, réutilisable dans le lot suivant, qui reprenait une bonne partie des même principes. Bien que le code ne soit pas totalement générique tel quel, j'ai pu suffisamment manipuler les principes de Symfony pour les adapter rapidement et sans problème lors du lot suivant.

\subsection*{Mots-clés}

Développement web, Symfony, formulaires, gestion de projet
